package com.xbongbong.saas.domain.entity;

import com.alibaba.fastjson.JSONArray;
import com.xbongbong.paas.toolbox.wrap.Entity;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * 线索自动分配规则实体
 * @author long
 * @version v1.0
 * @date 2020/12/16 11:25
 * @since v1.0
 */
@Setter
@Getter
@ToString
public class ClueAutoAllocationEntity extends Entity {

    private static final long serialVersionUID = 3217819001243089091L;
    /**
     * 主键id
     */
    private Long id;
    /**
     * corpid
     */
    private String corpid;
    /**
     * 表单id
     */
    private Long formId;
    /**
     * 规则名
     */
    private String ruleName;
    /**
     * 分配间隔
     */
    private Integer allocationInterval;
    /**
     * 筛选条件
     */
    private JSONArray jsonData;
    /**
     * 是否遵循最大拥有线索数规则, 默认0不限制,1.限制
     */
    private Integer distributionLimit;
    /**
     * 分配类型，1.仅分配给，2.循环分配，3.按比例分配，4.按数量分配
     */
    private Integer allocationType;
    /**
     * 分配规则
     */
    private JSONArray allocationValue;
    /**
     * 剩余分配类型，1.仅分配给，2.循环分配，3.按比例分配，4.按数量分配
     */
    private Integer allocationSurplusType;
    /**
     * 分配剩余人员
     */
    private JSONArray allocationSurplus;
    /**
     * 优先级
     */
    private Integer priority;

    private Integer modelType;
    /**
     * 创建使劲按
     */
    private Long addTime;
    /**
     * 更新时间
     */
    private Long updateTime;
    /**
     * 是否删除
     */
    private Integer del;

    //====冗余字段====
    private Map<Integer, Map<List<String>, Integer>> allocationValueMap;

    private Integer surplusFlag;

    List<Integer> numList;
}
